// Copyright (c) 2010, SMB SAAS Systems Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  SMB SAAS Systems Inc.  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.4927
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
// 
namespace dotPanel.EnterpriseServer {
    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    using System.Data;

    using dotPanel.Providers;
    using dotPanel.Providers.Common;
    using dotPanel.Providers.HostedSolution;
    using dotPanel.Providers.ResultObjects;
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="esExchangeServerSoap", Namespace="http://smbsaas/dotpanel/enterpriseserver")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class esExchangeServer : Microsoft.Web.Services3.WebServicesClientProtocol {
        
        private System.Threading.SendOrPostCallback GetRawExchangeOrganizationsPagedOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExchangeOrganizationsPagedOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExchangeOrganizationsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationStorageLimitsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetOrganizationStorageLimitsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxesStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFoldersStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CalculateOrganizationDiskspaceOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetActiveSyncPolicyOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetActiveSyncPolicyOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddAuthoritativeDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteAuthoritativeDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAccountsPagedOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAccountsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SearchAccountsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAccountOperationCompleted;
        
        private System.Threading.SendOrPostCallback SearchAccountOperationCompleted;
        
        private System.Threading.SendOrPostCallback CheckAccountCredentialsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateMailboxOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteMailboxOperationCompleted;
        
        private System.Threading.SendOrPostCallback DisableMailboxOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddMailboxEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxPrimaryEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteMailboxEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxAdvancedSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxAdvancedSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxSetupInstructionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SendMailboxSetupInstructionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxManagerSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMailboxPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMailboxPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateContactOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteContactOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetContactGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetContactGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetContactMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetContactMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateDistributionListOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteDistributionListOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddDistributionListEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListPrimaryEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteDistributionListEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDistributionListPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDistributionListPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreatePublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeletePublicFoldersOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeletePublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback EnableMailPublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback DisableMailPublicFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderMailFlowSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPublicFolderEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddPublicFolderEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetPublicFolderPrimaryEmailAddressOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeletePublicFolderEmailAddressesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMobileDevicesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted;
        
        private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted;
        
        private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted;
        
        private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted;
        
        /// <remarks/>
        public esExchangeServer() {
            this.Url = "http://localhost/dotPanelEnterpriseServer/esExchangeServer.asmx";
        }
        
        /// <remarks/>
        public event GetRawExchangeOrganizationsPagedCompletedEventHandler GetRawExchangeOrganizationsPagedCompleted;
        
        /// <remarks/>
        public event GetExchangeOrganizationsPagedCompletedEventHandler GetExchangeOrganizationsPagedCompleted;
        
        /// <remarks/>
        public event GetExchangeOrganizationsCompletedEventHandler GetExchangeOrganizationsCompleted;
        
        /// <remarks/>
        public event GetOrganizationCompletedEventHandler GetOrganizationCompleted;
        
        /// <remarks/>
        public event GetOrganizationStatisticsCompletedEventHandler GetOrganizationStatisticsCompleted;
        
        /// <remarks/>
        public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted;
        
        /// <remarks/>
        public event GetOrganizationStorageLimitsCompletedEventHandler GetOrganizationStorageLimitsCompleted;
        
        /// <remarks/>
        public event SetOrganizationStorageLimitsCompletedEventHandler SetOrganizationStorageLimitsCompleted;
        
        /// <remarks/>
        public event GetMailboxesStatisticsCompletedEventHandler GetMailboxesStatisticsCompleted;
        
        /// <remarks/>
        public event GetPublicFoldersStatisticsCompletedEventHandler GetPublicFoldersStatisticsCompleted;
        
        /// <remarks/>
        public event CalculateOrganizationDiskspaceCompletedEventHandler CalculateOrganizationDiskspaceCompleted;
        
        /// <remarks/>
        public event GetActiveSyncPolicyCompletedEventHandler GetActiveSyncPolicyCompleted;
        
        /// <remarks/>
        public event SetActiveSyncPolicyCompletedEventHandler SetActiveSyncPolicyCompleted;
        
        /// <remarks/>
        public event AddAuthoritativeDomainCompletedEventHandler AddAuthoritativeDomainCompleted;
        
        /// <remarks/>
        public event DeleteAuthoritativeDomainCompletedEventHandler DeleteAuthoritativeDomainCompleted;
        
        /// <remarks/>
        public event GetAccountsPagedCompletedEventHandler GetAccountsPagedCompleted;
        
        /// <remarks/>
        public event GetAccountsCompletedEventHandler GetAccountsCompleted;
        
        /// <remarks/>
        public event SearchAccountsCompletedEventHandler SearchAccountsCompleted;
        
        /// <remarks/>
        public event GetAccountCompletedEventHandler GetAccountCompleted;
        
        /// <remarks/>
        public event SearchAccountCompletedEventHandler SearchAccountCompleted;
        
        /// <remarks/>
        public event CheckAccountCredentialsCompletedEventHandler CheckAccountCredentialsCompleted;
        
        /// <remarks/>
        public event CreateMailboxCompletedEventHandler CreateMailboxCompleted;
        
        /// <remarks/>
        public event DeleteMailboxCompletedEventHandler DeleteMailboxCompleted;
        
        /// <remarks/>
        public event DisableMailboxCompletedEventHandler DisableMailboxCompleted;
        
        /// <remarks/>
        public event GetMailboxGeneralSettingsCompletedEventHandler GetMailboxGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetMailboxGeneralSettingsCompletedEventHandler SetMailboxGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxEmailAddressesCompletedEventHandler GetMailboxEmailAddressesCompleted;
        
        /// <remarks/>
        public event AddMailboxEmailAddressCompletedEventHandler AddMailboxEmailAddressCompleted;
        
        /// <remarks/>
        public event SetMailboxPrimaryEmailAddressCompletedEventHandler SetMailboxPrimaryEmailAddressCompleted;
        
        /// <remarks/>
        public event DeleteMailboxEmailAddressesCompletedEventHandler DeleteMailboxEmailAddressesCompleted;
        
        /// <remarks/>
        public event GetMailboxMailFlowSettingsCompletedEventHandler GetMailboxMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetMailboxMailFlowSettingsCompletedEventHandler SetMailboxMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxAdvancedSettingsCompletedEventHandler GetMailboxAdvancedSettingsCompleted;
        
        /// <remarks/>
        public event SetMailboxAdvancedSettingsCompletedEventHandler SetMailboxAdvancedSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxSetupInstructionsCompletedEventHandler GetMailboxSetupInstructionsCompleted;
        
        /// <remarks/>
        public event SendMailboxSetupInstructionsCompletedEventHandler SendMailboxSetupInstructionsCompleted;
        
        /// <remarks/>
        public event SetMailboxManagerSettingsCompletedEventHandler SetMailboxManagerSettingsCompleted;
        
        /// <remarks/>
        public event GetMailboxPermissionsCompletedEventHandler GetMailboxPermissionsCompleted;
        
        /// <remarks/>
        public event SetMailboxPermissionsCompletedEventHandler SetMailboxPermissionsCompleted;
        
        /// <remarks/>
        public event CreateContactCompletedEventHandler CreateContactCompleted;
        
        /// <remarks/>
        public event DeleteContactCompletedEventHandler DeleteContactCompleted;
        
        /// <remarks/>
        public event GetContactGeneralSettingsCompletedEventHandler GetContactGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetContactGeneralSettingsCompletedEventHandler SetContactGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetContactMailFlowSettingsCompletedEventHandler GetContactMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetContactMailFlowSettingsCompletedEventHandler SetContactMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event CreateDistributionListCompletedEventHandler CreateDistributionListCompleted;
        
        /// <remarks/>
        public event DeleteDistributionListCompletedEventHandler DeleteDistributionListCompleted;
        
        /// <remarks/>
        public event GetDistributionListGeneralSettingsCompletedEventHandler GetDistributionListGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetDistributionListGeneralSettingsCompletedEventHandler SetDistributionListGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetDistributionListMailFlowSettingsCompletedEventHandler GetDistributionListMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetDistributionListMailFlowSettingsCompletedEventHandler SetDistributionListMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event GetDistributionListEmailAddressesCompletedEventHandler GetDistributionListEmailAddressesCompleted;
        
        /// <remarks/>
        public event AddDistributionListEmailAddressCompletedEventHandler AddDistributionListEmailAddressCompleted;
        
        /// <remarks/>
        public event SetDistributionListPrimaryEmailAddressCompletedEventHandler SetDistributionListPrimaryEmailAddressCompleted;
        
        /// <remarks/>
        public event DeleteDistributionListEmailAddressesCompletedEventHandler DeleteDistributionListEmailAddressesCompleted;
        
        /// <remarks/>
        public event SetDistributionListPermissionsCompletedEventHandler SetDistributionListPermissionsCompleted;
        
        /// <remarks/>
        public event GetDistributionListPermissionsCompletedEventHandler GetDistributionListPermissionsCompleted;
        
        /// <remarks/>
        public event CreatePublicFolderCompletedEventHandler CreatePublicFolderCompleted;
        
        /// <remarks/>
        public event DeletePublicFoldersCompletedEventHandler DeletePublicFoldersCompleted;
        
        /// <remarks/>
        public event DeletePublicFolderCompletedEventHandler DeletePublicFolderCompleted;
        
        /// <remarks/>
        public event EnableMailPublicFolderCompletedEventHandler EnableMailPublicFolderCompleted;
        
        /// <remarks/>
        public event DisableMailPublicFolderCompletedEventHandler DisableMailPublicFolderCompleted;
        
        /// <remarks/>
        public event GetPublicFolderGeneralSettingsCompletedEventHandler GetPublicFolderGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetPublicFolderGeneralSettingsCompletedEventHandler SetPublicFolderGeneralSettingsCompleted;
        
        /// <remarks/>
        public event GetPublicFolderMailFlowSettingsCompletedEventHandler GetPublicFolderMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event SetPublicFolderMailFlowSettingsCompletedEventHandler SetPublicFolderMailFlowSettingsCompleted;
        
        /// <remarks/>
        public event GetPublicFolderEmailAddressesCompletedEventHandler GetPublicFolderEmailAddressesCompleted;
        
        /// <remarks/>
        public event AddPublicFolderEmailAddressCompletedEventHandler AddPublicFolderEmailAddressCompleted;
        
        /// <remarks/>
        public event SetPublicFolderPrimaryEmailAddressCompletedEventHandler SetPublicFolderPrimaryEmailAddressCompleted;
        
        /// <remarks/>
        public event DeletePublicFolderEmailAddressesCompletedEventHandler DeletePublicFolderEmailAddressesCompleted;
        
        /// <remarks/>
        public event GetMobileDevicesCompletedEventHandler GetMobileDevicesCompleted;
        
        /// <remarks/>
        public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted;
        
        /// <remarks/>
        public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted;
        
        /// <remarks/>
        public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted;
        
        /// <remarks/>
        public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetRawExchangeOrganizationsPaged", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public System.Data.DataSet GetRawExchangeOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetRawExchangeOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((System.Data.DataSet)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetRawExchangeOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetRawExchangeOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public System.Data.DataSet EndGetRawExchangeOrganizationsPaged(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((System.Data.DataSet)(results[0]));
        }
        
        /// <remarks/>
        public void GetRawExchangeOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            this.GetRawExchangeOrganizationsPagedAsync(packageId, recursive, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetRawExchangeOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetRawExchangeOrganizationsPagedOperationCompleted == null)) {
                this.GetRawExchangeOrganizationsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawExchangeOrganizationsPagedOperationCompleted);
            }
            this.InvokeAsync("GetRawExchangeOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetRawExchangeOrganizationsPagedOperationCompleted, userState);
        }
        
        private void OnGetRawExchangeOrganizationsPagedOperationCompleted(object arg) {
            if ((this.GetRawExchangeOrganizationsPagedCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetRawExchangeOrganizationsPagedCompleted(this, new GetRawExchangeOrganizationsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetExchangeOrganizationsPaged", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationsPaged GetExchangeOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetExchangeOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((OrganizationsPaged)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetExchangeOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetExchangeOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationsPaged EndGetExchangeOrganizationsPaged(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationsPaged)(results[0]));
        }
        
        /// <remarks/>
        public void GetExchangeOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            this.GetExchangeOrganizationsPagedAsync(packageId, recursive, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetExchangeOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetExchangeOrganizationsPagedOperationCompleted == null)) {
                this.GetExchangeOrganizationsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeOrganizationsPagedOperationCompleted);
            }
            this.InvokeAsync("GetExchangeOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetExchangeOrganizationsPagedOperationCompleted, userState);
        }
        
        private void OnGetExchangeOrganizationsPagedOperationCompleted(object arg) {
            if ((this.GetExchangeOrganizationsPagedCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExchangeOrganizationsPagedCompleted(this, new GetExchangeOrganizationsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetExchangeOrganizations", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization[] GetExchangeOrganizations(int packageId, bool recursive) {
            object[] results = this.Invoke("GetExchangeOrganizations", new object[] {
                        packageId,
                        recursive});
            return ((Organization[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetExchangeOrganizations(int packageId, bool recursive, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetExchangeOrganizations", new object[] {
                        packageId,
                        recursive}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization[] EndGetExchangeOrganizations(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization[])(results[0]));
        }
        
        /// <remarks/>
        public void GetExchangeOrganizationsAsync(int packageId, bool recursive) {
            this.GetExchangeOrganizationsAsync(packageId, recursive, null);
        }
        
        /// <remarks/>
        public void GetExchangeOrganizationsAsync(int packageId, bool recursive, object userState) {
            if ((this.GetExchangeOrganizationsOperationCompleted == null)) {
                this.GetExchangeOrganizationsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeOrganizationsOperationCompleted);
            }
            this.InvokeAsync("GetExchangeOrganizations", new object[] {
                        packageId,
                        recursive}, this.GetExchangeOrganizationsOperationCompleted, userState);
        }
        
        private void OnGetExchangeOrganizationsOperationCompleted(object arg) {
            if ((this.GetExchangeOrganizationsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExchangeOrganizationsCompleted(this, new GetExchangeOrganizationsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetOrganization", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization GetOrganization(int itemId) {
            object[] results = this.Invoke("GetOrganization", new object[] {
                        itemId});
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganization(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganization", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization EndGetOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationAsync(int itemId) {
            this.GetOrganizationAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationAsync(int itemId, object userState) {
            if ((this.GetOrganizationOperationCompleted == null)) {
                this.GetOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationOperationCompleted);
            }
            this.InvokeAsync("GetOrganization", new object[] {
                        itemId}, this.GetOrganizationOperationCompleted, userState);
        }
        
        private void OnGetOrganizationOperationCompleted(object arg) {
            if ((this.GetOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationCompleted(this, new GetOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetOrganizationStatistics", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationStatistics GetOrganizationStatistics(int itemId) {
            object[] results = this.Invoke("GetOrganizationStatistics", new object[] {
                        itemId});
            return ((OrganizationStatistics)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationStatistics(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationStatistics", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationStatistics EndGetOrganizationStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationStatistics)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationStatisticsAsync(int itemId) {
            this.GetOrganizationStatisticsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationStatisticsAsync(int itemId, object userState) {
            if ((this.GetOrganizationStatisticsOperationCompleted == null)) {
                this.GetOrganizationStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationStatistics", new object[] {
                        itemId}, this.GetOrganizationStatisticsOperationCompleted, userState);
        }
        
        private void OnGetOrganizationStatisticsOperationCompleted(object arg) {
            if ((this.GetOrganizationStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationStatisticsCompleted(this, new GetOrganizationStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteOrganization", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteOrganization(int itemId) {
            object[] results = this.Invoke("DeleteOrganization", new object[] {
                        itemId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteOrganization(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteOrganization", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(int itemId) {
            this.DeleteOrganizationAsync(itemId, null);
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(int itemId, object userState) {
            if ((this.DeleteOrganizationOperationCompleted == null)) {
                this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted);
            }
            this.InvokeAsync("DeleteOrganization", new object[] {
                        itemId}, this.DeleteOrganizationOperationCompleted, userState);
        }
        
        private void OnDeleteOrganizationOperationCompleted(object arg) {
            if ((this.DeleteOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetOrganizationStorageLimits", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization GetOrganizationStorageLimits(int itemId) {
            object[] results = this.Invoke("GetOrganizationStorageLimits", new object[] {
                        itemId});
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationStorageLimits(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationStorageLimits", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization EndGetOrganizationStorageLimits(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationStorageLimitsAsync(int itemId) {
            this.GetOrganizationStorageLimitsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationStorageLimitsAsync(int itemId, object userState) {
            if ((this.GetOrganizationStorageLimitsOperationCompleted == null)) {
                this.GetOrganizationStorageLimitsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationStorageLimitsOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationStorageLimits", new object[] {
                        itemId}, this.GetOrganizationStorageLimitsOperationCompleted, userState);
        }
        
        private void OnGetOrganizationStorageLimitsOperationCompleted(object arg) {
            if ((this.GetOrganizationStorageLimitsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationStorageLimitsCompleted(this, new GetOrganizationStorageLimitsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetOrganizationStorageLimits", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetOrganizationStorageLimits(int itemId, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes) {
            object[] results = this.Invoke("SetOrganizationStorageLimits", new object[] {
                        itemId,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays,
                        applyToMailboxes});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetOrganizationStorageLimits(int itemId, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetOrganizationStorageLimits", new object[] {
                        itemId,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays,
                        applyToMailboxes}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetOrganizationStorageLimits(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetOrganizationStorageLimitsAsync(int itemId, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes) {
            this.SetOrganizationStorageLimitsAsync(itemId, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, applyToMailboxes, null);
        }
        
        /// <remarks/>
        public void SetOrganizationStorageLimitsAsync(int itemId, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes, object userState) {
            if ((this.SetOrganizationStorageLimitsOperationCompleted == null)) {
                this.SetOrganizationStorageLimitsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationStorageLimitsOperationCompleted);
            }
            this.InvokeAsync("SetOrganizationStorageLimits", new object[] {
                        itemId,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays,
                        applyToMailboxes}, this.SetOrganizationStorageLimitsOperationCompleted, userState);
        }
        
        private void OnSetOrganizationStorageLimitsOperationCompleted(object arg) {
            if ((this.SetOrganizationStorageLimitsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetOrganizationStorageLimitsCompleted(this, new SetOrganizationStorageLimitsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxesStatistics", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeItemStatistics[] GetMailboxesStatistics(int itemId) {
            object[] results = this.Invoke("GetMailboxesStatistics", new object[] {
                        itemId});
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxesStatistics(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxesStatistics", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] EndGetMailboxesStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxesStatisticsAsync(int itemId) {
            this.GetMailboxesStatisticsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetMailboxesStatisticsAsync(int itemId, object userState) {
            if ((this.GetMailboxesStatisticsOperationCompleted == null)) {
                this.GetMailboxesStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxesStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxesStatistics", new object[] {
                        itemId}, this.GetMailboxesStatisticsOperationCompleted, userState);
        }
        
        private void OnGetMailboxesStatisticsOperationCompleted(object arg) {
            if ((this.GetMailboxesStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxesStatisticsCompleted(this, new GetMailboxesStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetPublicFoldersStatistics", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeItemStatistics[] GetPublicFoldersStatistics(int itemId) {
            object[] results = this.Invoke("GetPublicFoldersStatistics", new object[] {
                        itemId});
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFoldersStatistics(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFoldersStatistics", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] EndGetPublicFoldersStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeItemStatistics[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFoldersStatisticsAsync(int itemId) {
            this.GetPublicFoldersStatisticsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetPublicFoldersStatisticsAsync(int itemId, object userState) {
            if ((this.GetPublicFoldersStatisticsOperationCompleted == null)) {
                this.GetPublicFoldersStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetPublicFoldersStatistics", new object[] {
                        itemId}, this.GetPublicFoldersStatisticsOperationCompleted, userState);
        }
        
        private void OnGetPublicFoldersStatisticsOperationCompleted(object arg) {
            if ((this.GetPublicFoldersStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFoldersStatisticsCompleted(this, new GetPublicFoldersStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CalculateOrganizationDiskspace", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CalculateOrganizationDiskspace(int itemId) {
            object[] results = this.Invoke("CalculateOrganizationDiskspace", new object[] {
                        itemId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCalculateOrganizationDiskspace(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CalculateOrganizationDiskspace", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCalculateOrganizationDiskspace(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CalculateOrganizationDiskspaceAsync(int itemId) {
            this.CalculateOrganizationDiskspaceAsync(itemId, null);
        }
        
        /// <remarks/>
        public void CalculateOrganizationDiskspaceAsync(int itemId, object userState) {
            if ((this.CalculateOrganizationDiskspaceOperationCompleted == null)) {
                this.CalculateOrganizationDiskspaceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCalculateOrganizationDiskspaceOperationCompleted);
            }
            this.InvokeAsync("CalculateOrganizationDiskspace", new object[] {
                        itemId}, this.CalculateOrganizationDiskspaceOperationCompleted, userState);
        }
        
        private void OnCalculateOrganizationDiskspaceOperationCompleted(object arg) {
            if ((this.CalculateOrganizationDiskspaceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CalculateOrganizationDiskspaceCompleted(this, new CalculateOrganizationDiskspaceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetActiveSyncPolicy", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeActiveSyncPolicy GetActiveSyncPolicy(int itemId) {
            object[] results = this.Invoke("GetActiveSyncPolicy", new object[] {
                        itemId});
            return ((ExchangeActiveSyncPolicy)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetActiveSyncPolicy(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetActiveSyncPolicy", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeActiveSyncPolicy EndGetActiveSyncPolicy(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeActiveSyncPolicy)(results[0]));
        }
        
        /// <remarks/>
        public void GetActiveSyncPolicyAsync(int itemId) {
            this.GetActiveSyncPolicyAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetActiveSyncPolicyAsync(int itemId, object userState) {
            if ((this.GetActiveSyncPolicyOperationCompleted == null)) {
                this.GetActiveSyncPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetActiveSyncPolicyOperationCompleted);
            }
            this.InvokeAsync("GetActiveSyncPolicy", new object[] {
                        itemId}, this.GetActiveSyncPolicyOperationCompleted, userState);
        }
        
        private void OnGetActiveSyncPolicyOperationCompleted(object arg) {
            if ((this.GetActiveSyncPolicyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetActiveSyncPolicyCompleted(this, new GetActiveSyncPolicyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetActiveSyncPolicy", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetActiveSyncPolicy(
                    int itemId, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInteval) {
            object[] results = this.Invoke("SetActiveSyncPolicy", new object[] {
                        itemId,
                        allowNonProvisionableDevices,
                        attachmentsEnabled,
                        maxAttachmentSizeKB,
                        uncAccessEnabled,
                        wssAccessEnabled,
                        devicePasswordEnabled,
                        alphanumericPasswordRequired,
                        passwordRecoveryEnabled,
                        deviceEncryptionEnabled,
                        allowSimplePassword,
                        maxPasswordFailedAttempts,
                        minPasswordLength,
                        inactivityLockMin,
                        passwordExpirationDays,
                        passwordHistory,
                        refreshInteval});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetActiveSyncPolicy(
                    int itemId, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInteval, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetActiveSyncPolicy", new object[] {
                        itemId,
                        allowNonProvisionableDevices,
                        attachmentsEnabled,
                        maxAttachmentSizeKB,
                        uncAccessEnabled,
                        wssAccessEnabled,
                        devicePasswordEnabled,
                        alphanumericPasswordRequired,
                        passwordRecoveryEnabled,
                        deviceEncryptionEnabled,
                        allowSimplePassword,
                        maxPasswordFailedAttempts,
                        minPasswordLength,
                        inactivityLockMin,
                        passwordExpirationDays,
                        passwordHistory,
                        refreshInteval}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetActiveSyncPolicy(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetActiveSyncPolicyAsync(
                    int itemId, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInteval) {
            this.SetActiveSyncPolicyAsync(itemId, allowNonProvisionableDevices, attachmentsEnabled, maxAttachmentSizeKB, uncAccessEnabled, wssAccessEnabled, devicePasswordEnabled, alphanumericPasswordRequired, passwordRecoveryEnabled, deviceEncryptionEnabled, allowSimplePassword, maxPasswordFailedAttempts, minPasswordLength, inactivityLockMin, passwordExpirationDays, passwordHistory, refreshInteval, null);
        }
        
        /// <remarks/>
        public void SetActiveSyncPolicyAsync(
                    int itemId, 
                    bool allowNonProvisionableDevices, 
                    bool attachmentsEnabled, 
                    int maxAttachmentSizeKB, 
                    bool uncAccessEnabled, 
                    bool wssAccessEnabled, 
                    bool devicePasswordEnabled, 
                    bool alphanumericPasswordRequired, 
                    bool passwordRecoveryEnabled, 
                    bool deviceEncryptionEnabled, 
                    bool allowSimplePassword, 
                    int maxPasswordFailedAttempts, 
                    int minPasswordLength, 
                    int inactivityLockMin, 
                    int passwordExpirationDays, 
                    int passwordHistory, 
                    int refreshInteval, 
                    object userState) {
            if ((this.SetActiveSyncPolicyOperationCompleted == null)) {
                this.SetActiveSyncPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetActiveSyncPolicyOperationCompleted);
            }
            this.InvokeAsync("SetActiveSyncPolicy", new object[] {
                        itemId,
                        allowNonProvisionableDevices,
                        attachmentsEnabled,
                        maxAttachmentSizeKB,
                        uncAccessEnabled,
                        wssAccessEnabled,
                        devicePasswordEnabled,
                        alphanumericPasswordRequired,
                        passwordRecoveryEnabled,
                        deviceEncryptionEnabled,
                        allowSimplePassword,
                        maxPasswordFailedAttempts,
                        minPasswordLength,
                        inactivityLockMin,
                        passwordExpirationDays,
                        passwordHistory,
                        refreshInteval}, this.SetActiveSyncPolicyOperationCompleted, userState);
        }
        
        private void OnSetActiveSyncPolicyOperationCompleted(object arg) {
            if ((this.SetActiveSyncPolicyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetActiveSyncPolicyCompleted(this, new SetActiveSyncPolicyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/AddAuthoritativeDomain", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int AddAuthoritativeDomain(int itemId, int domainId) {
            object[] results = this.Invoke("AddAuthoritativeDomain", new object[] {
                        itemId,
                        domainId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddAuthoritativeDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddAuthoritativeDomain", new object[] {
                        itemId,
                        domainId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndAddAuthoritativeDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void AddAuthoritativeDomainAsync(int itemId, int domainId) {
            this.AddAuthoritativeDomainAsync(itemId, domainId, null);
        }
        
        /// <remarks/>
        public void AddAuthoritativeDomainAsync(int itemId, int domainId, object userState) {
            if ((this.AddAuthoritativeDomainOperationCompleted == null)) {
                this.AddAuthoritativeDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddAuthoritativeDomainOperationCompleted);
            }
            this.InvokeAsync("AddAuthoritativeDomain", new object[] {
                        itemId,
                        domainId}, this.AddAuthoritativeDomainOperationCompleted, userState);
        }
        
        private void OnAddAuthoritativeDomainOperationCompleted(object arg) {
            if ((this.AddAuthoritativeDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddAuthoritativeDomainCompleted(this, new AddAuthoritativeDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteAuthoritativeDomain", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteAuthoritativeDomain(int itemId, int domainId) {
            object[] results = this.Invoke("DeleteAuthoritativeDomain", new object[] {
                        itemId,
                        domainId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteAuthoritativeDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteAuthoritativeDomain", new object[] {
                        itemId,
                        domainId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteAuthoritativeDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteAuthoritativeDomainAsync(int itemId, int domainId) {
            this.DeleteAuthoritativeDomainAsync(itemId, domainId, null);
        }
        
        /// <remarks/>
        public void DeleteAuthoritativeDomainAsync(int itemId, int domainId, object userState) {
            if ((this.DeleteAuthoritativeDomainOperationCompleted == null)) {
                this.DeleteAuthoritativeDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteAuthoritativeDomainOperationCompleted);
            }
            this.InvokeAsync("DeleteAuthoritativeDomain", new object[] {
                        itemId,
                        domainId}, this.DeleteAuthoritativeDomainOperationCompleted, userState);
        }
        
        private void OnDeleteAuthoritativeDomainOperationCompleted(object arg) {
            if ((this.DeleteAuthoritativeDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteAuthoritativeDomainCompleted(this, new DeleteAuthoritativeDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetAccountsPaged", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeAccountsPaged GetAccountsPaged(int itemId, string accountTypes, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetAccountsPaged", new object[] {
                        itemId,
                        accountTypes,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((ExchangeAccountsPaged)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetAccountsPaged(int itemId, string accountTypes, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetAccountsPaged", new object[] {
                        itemId,
                        accountTypes,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeAccountsPaged EndGetAccountsPaged(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeAccountsPaged)(results[0]));
        }
        
        /// <remarks/>
        public void GetAccountsPagedAsync(int itemId, string accountTypes, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            this.GetAccountsPagedAsync(itemId, accountTypes, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetAccountsPagedAsync(int itemId, string accountTypes, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetAccountsPagedOperationCompleted == null)) {
                this.GetAccountsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAccountsPagedOperationCompleted);
            }
            this.InvokeAsync("GetAccountsPaged", new object[] {
                        itemId,
                        accountTypes,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetAccountsPagedOperationCompleted, userState);
        }
        
        private void OnGetAccountsPagedOperationCompleted(object arg) {
            if ((this.GetAccountsPagedCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAccountsPagedCompleted(this, new GetAccountsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetAccounts", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeAccount[] GetAccounts(int itemId, ExchangeAccountType accountType) {
            object[] results = this.Invoke("GetAccounts", new object[] {
                        itemId,
                        accountType});
            return ((ExchangeAccount[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetAccounts(int itemId, ExchangeAccountType accountType, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetAccounts", new object[] {
                        itemId,
                        accountType}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeAccount[] EndGetAccounts(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeAccount[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAccountsAsync(int itemId, ExchangeAccountType accountType) {
            this.GetAccountsAsync(itemId, accountType, null);
        }
        
        /// <remarks/>
        public void GetAccountsAsync(int itemId, ExchangeAccountType accountType, object userState) {
            if ((this.GetAccountsOperationCompleted == null)) {
                this.GetAccountsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAccountsOperationCompleted);
            }
            this.InvokeAsync("GetAccounts", new object[] {
                        itemId,
                        accountType}, this.GetAccountsOperationCompleted, userState);
        }
        
        private void OnGetAccountsOperationCompleted(object arg) {
            if ((this.GetAccountsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAccountsCompleted(this, new GetAccountsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SearchAccounts", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeAccount[] SearchAccounts(int itemId, bool includeMailboxes, bool includeContacts, bool includeDistributionLists, bool includeRooms, bool includeEquipment, string filterColumn, string filterValue, string sortColumn) {
            object[] results = this.Invoke("SearchAccounts", new object[] {
                        itemId,
                        includeMailboxes,
                        includeContacts,
                        includeDistributionLists,
                        includeRooms,
                        includeEquipment,
                        filterColumn,
                        filterValue,
                        sortColumn});
            return ((ExchangeAccount[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSearchAccounts(int itemId, bool includeMailboxes, bool includeContacts, bool includeDistributionLists, bool includeRooms, bool includeEquipment, string filterColumn, string filterValue, string sortColumn, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SearchAccounts", new object[] {
                        itemId,
                        includeMailboxes,
                        includeContacts,
                        includeDistributionLists,
                        includeRooms,
                        includeEquipment,
                        filterColumn,
                        filterValue,
                        sortColumn}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeAccount[] EndSearchAccounts(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeAccount[])(results[0]));
        }
        
        /// <remarks/>
        public void SearchAccountsAsync(int itemId, bool includeMailboxes, bool includeContacts, bool includeDistributionLists, bool includeRooms, bool includeEquipment, string filterColumn, string filterValue, string sortColumn) {
            this.SearchAccountsAsync(itemId, includeMailboxes, includeContacts, includeDistributionLists, includeRooms, includeEquipment, filterColumn, filterValue, sortColumn, null);
        }
        
        /// <remarks/>
        public void SearchAccountsAsync(int itemId, bool includeMailboxes, bool includeContacts, bool includeDistributionLists, bool includeRooms, bool includeEquipment, string filterColumn, string filterValue, string sortColumn, object userState) {
            if ((this.SearchAccountsOperationCompleted == null)) {
                this.SearchAccountsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSearchAccountsOperationCompleted);
            }
            this.InvokeAsync("SearchAccounts", new object[] {
                        itemId,
                        includeMailboxes,
                        includeContacts,
                        includeDistributionLists,
                        includeRooms,
                        includeEquipment,
                        filterColumn,
                        filterValue,
                        sortColumn}, this.SearchAccountsOperationCompleted, userState);
        }
        
        private void OnSearchAccountsOperationCompleted(object arg) {
            if ((this.SearchAccountsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SearchAccountsCompleted(this, new SearchAccountsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetAccount", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeAccount GetAccount(int itemId, int accountId) {
            object[] results = this.Invoke("GetAccount", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeAccount)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetAccount(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetAccount", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeAccount EndGetAccount(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeAccount)(results[0]));
        }
        
        /// <remarks/>
        public void GetAccountAsync(int itemId, int accountId) {
            this.GetAccountAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetAccountAsync(int itemId, int accountId, object userState) {
            if ((this.GetAccountOperationCompleted == null)) {
                this.GetAccountOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAccountOperationCompleted);
            }
            this.InvokeAsync("GetAccount", new object[] {
                        itemId,
                        accountId}, this.GetAccountOperationCompleted, userState);
        }
        
        private void OnGetAccountOperationCompleted(object arg) {
            if ((this.GetAccountCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAccountCompleted(this, new GetAccountCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SearchAccount", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeAccount SearchAccount(ExchangeAccountType accountType, string primaryEmailAddress) {
            object[] results = this.Invoke("SearchAccount", new object[] {
                        accountType,
                        primaryEmailAddress});
            return ((ExchangeAccount)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSearchAccount(ExchangeAccountType accountType, string primaryEmailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SearchAccount", new object[] {
                        accountType,
                        primaryEmailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeAccount EndSearchAccount(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeAccount)(results[0]));
        }
        
        /// <remarks/>
        public void SearchAccountAsync(ExchangeAccountType accountType, string primaryEmailAddress) {
            this.SearchAccountAsync(accountType, primaryEmailAddress, null);
        }
        
        /// <remarks/>
        public void SearchAccountAsync(ExchangeAccountType accountType, string primaryEmailAddress, object userState) {
            if ((this.SearchAccountOperationCompleted == null)) {
                this.SearchAccountOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSearchAccountOperationCompleted);
            }
            this.InvokeAsync("SearchAccount", new object[] {
                        accountType,
                        primaryEmailAddress}, this.SearchAccountOperationCompleted, userState);
        }
        
        private void OnSearchAccountOperationCompleted(object arg) {
            if ((this.SearchAccountCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SearchAccountCompleted(this, new SearchAccountCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CheckAccountCredentials", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool CheckAccountCredentials(int itemId, string email, string password) {
            object[] results = this.Invoke("CheckAccountCredentials", new object[] {
                        itemId,
                        email,
                        password});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCheckAccountCredentials(int itemId, string email, string password, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CheckAccountCredentials", new object[] {
                        itemId,
                        email,
                        password}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndCheckAccountCredentials(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void CheckAccountCredentialsAsync(int itemId, string email, string password) {
            this.CheckAccountCredentialsAsync(itemId, email, password, null);
        }
        
        /// <remarks/>
        public void CheckAccountCredentialsAsync(int itemId, string email, string password, object userState) {
            if ((this.CheckAccountCredentialsOperationCompleted == null)) {
                this.CheckAccountCredentialsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckAccountCredentialsOperationCompleted);
            }
            this.InvokeAsync("CheckAccountCredentials", new object[] {
                        itemId,
                        email,
                        password}, this.CheckAccountCredentialsOperationCompleted, userState);
        }
        
        private void OnCheckAccountCredentialsOperationCompleted(object arg) {
            if ((this.CheckAccountCredentialsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CheckAccountCredentialsCompleted(this, new CheckAccountCredentialsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CreateMailbox", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress) {
            object[] results = this.Invoke("CreateMailbox", new object[] {
                        itemId,
                        accountId,
                        accountType,
                        accountName,
                        displayName,
                        name,
                        domain,
                        password,
                        sendSetupInstructions,
                        setupInstructionMailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateMailbox", new object[] {
                        itemId,
                        accountId,
                        accountType,
                        accountName,
                        displayName,
                        name,
                        domain,
                        password,
                        sendSetupInstructions,
                        setupInstructionMailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCreateMailbox(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CreateMailboxAsync(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress) {
            this.CreateMailboxAsync(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress, null);
        }
        
        /// <remarks/>
        public void CreateMailboxAsync(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, object userState) {
            if ((this.CreateMailboxOperationCompleted == null)) {
                this.CreateMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateMailboxOperationCompleted);
            }
            this.InvokeAsync("CreateMailbox", new object[] {
                        itemId,
                        accountId,
                        accountType,
                        accountName,
                        displayName,
                        name,
                        domain,
                        password,
                        sendSetupInstructions,
                        setupInstructionMailAddress}, this.CreateMailboxOperationCompleted, userState);
        }
        
        private void OnCreateMailboxOperationCompleted(object arg) {
            if ((this.CreateMailboxCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateMailboxCompleted(this, new CreateMailboxCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteMailbox", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteMailbox(int itemId, int accountId) {
            object[] results = this.Invoke("DeleteMailbox", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteMailbox(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteMailbox", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteMailbox(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteMailboxAsync(int itemId, int accountId) {
            this.DeleteMailboxAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DeleteMailboxAsync(int itemId, int accountId, object userState) {
            if ((this.DeleteMailboxOperationCompleted == null)) {
                this.DeleteMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteMailboxOperationCompleted);
            }
            this.InvokeAsync("DeleteMailbox", new object[] {
                        itemId,
                        accountId}, this.DeleteMailboxOperationCompleted, userState);
        }
        
        private void OnDeleteMailboxOperationCompleted(object arg) {
            if ((this.DeleteMailboxCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteMailboxCompleted(this, new DeleteMailboxCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DisableMailbox", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DisableMailbox(int itemId, int accountId) {
            object[] results = this.Invoke("DisableMailbox", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDisableMailbox(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DisableMailbox", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDisableMailbox(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DisableMailboxAsync(int itemId, int accountId) {
            this.DisableMailboxAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DisableMailboxAsync(int itemId, int accountId, object userState) {
            if ((this.DisableMailboxOperationCompleted == null)) {
                this.DisableMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableMailboxOperationCompleted);
            }
            this.InvokeAsync("DisableMailbox", new object[] {
                        itemId,
                        accountId}, this.DisableMailboxOperationCompleted, userState);
        }
        
        private void OnDisableMailboxOperationCompleted(object arg) {
            if ((this.DisableMailboxCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DisableMailboxCompleted(this, new DisableMailboxCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetMailboxGeneralSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxGeneralSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxGeneralSettingsAsync(int itemId, int accountId) {
            this.GetMailboxGeneralSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetMailboxGeneralSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetMailboxGeneralSettingsOperationCompleted == null)) {
                this.GetMailboxGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxGeneralSettings", new object[] {
                        itemId,
                        accountId}, this.GetMailboxGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetMailboxGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetMailboxGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxGeneralSettingsCompleted(this, new GetMailboxGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetMailboxGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetMailboxGeneralSettings(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes) {
            object[] results = this.Invoke("SetMailboxGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        password,
                        hideAddressBook,
                        disabled,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxGeneralSettings(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetMailboxGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        password,
                        hideAddressBook,
                        disabled,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetMailboxGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetMailboxGeneralSettingsAsync(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes) {
            this.SetMailboxGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, null);
        }
        
        /// <remarks/>
        public void SetMailboxGeneralSettingsAsync(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    object userState) {
            if ((this.SetMailboxGeneralSettingsOperationCompleted == null)) {
                this.SetMailboxGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        password,
                        hideAddressBook,
                        disabled,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes}, this.SetMailboxGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxGeneralSettingsCompleted(this, new SetMailboxGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeEmailAddress[] GetMailboxEmailAddresses(int itemId, int accountId) {
            object[] results = this.Invoke("GetMailboxEmailAddresses", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxEmailAddresses", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] EndGetMailboxEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxEmailAddressesAsync(int itemId, int accountId) {
            this.GetMailboxEmailAddressesAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetMailboxEmailAddressesAsync(int itemId, int accountId, object userState) {
            if ((this.GetMailboxEmailAddressesOperationCompleted == null)) {
                this.GetMailboxEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("GetMailboxEmailAddresses", new object[] {
                        itemId,
                        accountId}, this.GetMailboxEmailAddressesOperationCompleted, userState);
        }
        
        private void OnGetMailboxEmailAddressesOperationCompleted(object arg) {
            if ((this.GetMailboxEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxEmailAddressesCompleted(this, new GetMailboxEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/AddMailboxEmailAddress", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int AddMailboxEmailAddress(int itemId, int accountId, string emailAddress) {
            object[] results = this.Invoke("AddMailboxEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddMailboxEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddMailboxEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndAddMailboxEmailAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void AddMailboxEmailAddressAsync(int itemId, int accountId, string emailAddress) {
            this.AddMailboxEmailAddressAsync(itemId, accountId, emailAddress, null);
        }
        
        /// <remarks/>
        public void AddMailboxEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) {
            if ((this.AddMailboxEmailAddressOperationCompleted == null)) {
                this.AddMailboxEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddMailboxEmailAddressOperationCompleted);
            }
            this.InvokeAsync("AddMailboxEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, this.AddMailboxEmailAddressOperationCompleted, userState);
        }
        
        private void OnAddMailboxEmailAddressOperationCompleted(object arg) {
            if ((this.AddMailboxEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddMailboxEmailAddressCompleted(this, new AddMailboxEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetMailboxPrimaryEmailAddress", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetMailboxPrimaryEmailAddress(int itemId, int accountId, string emailAddress) {
            object[] results = this.Invoke("SetMailboxPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetMailboxPrimaryEmailAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetMailboxPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) {
            this.SetMailboxPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null);
        }
        
        /// <remarks/>
        public void SetMailboxPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) {
            if ((this.SetMailboxPrimaryEmailAddressOperationCompleted == null)) {
                this.SetMailboxPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxPrimaryEmailAddressOperationCompleted);
            }
            this.InvokeAsync("SetMailboxPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, this.SetMailboxPrimaryEmailAddressOperationCompleted, userState);
        }
        
        private void OnSetMailboxPrimaryEmailAddressOperationCompleted(object arg) {
            if ((this.SetMailboxPrimaryEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxPrimaryEmailAddressCompleted(this, new SetMailboxPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteMailboxEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteMailboxEmailAddresses(int itemId, int accountId, string[] emailAddresses) {
            object[] results = this.Invoke("DeleteMailboxEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteMailboxEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteMailboxEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteMailboxEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteMailboxEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) {
            this.DeleteMailboxEmailAddressesAsync(itemId, accountId, emailAddresses, null);
        }
        
        /// <remarks/>
        public void DeleteMailboxEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) {
            if ((this.DeleteMailboxEmailAddressesOperationCompleted == null)) {
                this.DeleteMailboxEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteMailboxEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("DeleteMailboxEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses}, this.DeleteMailboxEmailAddressesOperationCompleted, userState);
        }
        
        private void OnDeleteMailboxEmailAddressesOperationCompleted(object arg) {
            if ((this.DeleteMailboxEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteMailboxEmailAddressesCompleted(this, new DeleteMailboxEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxMailFlowSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetMailboxMailFlowSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxMailFlowSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxMailFlowSettingsAsync(int itemId, int accountId) {
            this.GetMailboxMailFlowSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetMailboxMailFlowSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetMailboxMailFlowSettingsOperationCompleted == null)) {
                this.GetMailboxMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxMailFlowSettings", new object[] {
                        itemId,
                        accountId}, this.GetMailboxMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetMailboxMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetMailboxMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxMailFlowSettingsCompleted(this, new GetMailboxMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetMailboxMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetMailboxMailFlowSettings(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) {
            object[] results = this.Invoke("SetMailboxMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        enableForwarding,
                        forwardingAccountName,
                        forwardToBoth,
                        sendOnBehalfAccounts,
                        acceptAccounts,
                        rejectAccounts,
                        maxRecipients,
                        maxSendMessageSizeKB,
                        maxReceiveMessageSizeKB,
                        requireSenderAuthentication});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxMailFlowSettings(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        enableForwarding,
                        forwardingAccountName,
                        forwardToBoth,
                        sendOnBehalfAccounts,
                        acceptAccounts,
                        rejectAccounts,
                        maxRecipients,
                        maxSendMessageSizeKB,
                        maxReceiveMessageSizeKB,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetMailboxMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetMailboxMailFlowSettingsAsync(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) {
            this.SetMailboxMailFlowSettingsAsync(itemId, accountId, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetMailboxMailFlowSettingsAsync(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, object userState) {
            if ((this.SetMailboxMailFlowSettingsOperationCompleted == null)) {
                this.SetMailboxMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        enableForwarding,
                        forwardingAccountName,
                        forwardToBoth,
                        sendOnBehalfAccounts,
                        acceptAccounts,
                        rejectAccounts,
                        maxRecipients,
                        maxSendMessageSizeKB,
                        maxReceiveMessageSizeKB,
                        requireSenderAuthentication}, this.SetMailboxMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxMailFlowSettingsCompleted(this, new SetMailboxMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxAdvancedSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxAdvancedSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetMailboxAdvancedSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxAdvancedSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxAdvancedSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxAdvancedSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxAdvancedSettingsAsync(int itemId, int accountId) {
            this.GetMailboxAdvancedSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetMailboxAdvancedSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetMailboxAdvancedSettingsOperationCompleted == null)) {
                this.GetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxAdvancedSettingsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxAdvancedSettings", new object[] {
                        itemId,
                        accountId}, this.GetMailboxAdvancedSettingsOperationCompleted, userState);
        }
        
        private void OnGetMailboxAdvancedSettingsOperationCompleted(object arg) {
            if ((this.GetMailboxAdvancedSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxAdvancedSettingsCompleted(this, new GetMailboxAdvancedSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetMailboxAdvancedSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) {
            object[] results = this.Invoke("SetMailboxAdvancedSettings", new object[] {
                        itemId,
                        accountId,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxAdvancedSettings", new object[] {
                        itemId,
                        accountId,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetMailboxAdvancedSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetMailboxAdvancedSettingsAsync(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) {
            this.SetMailboxAdvancedSettingsAsync(itemId, accountId, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null);
        }
        
        /// <remarks/>
        public void SetMailboxAdvancedSettingsAsync(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, object userState) {
            if ((this.SetMailboxAdvancedSettingsOperationCompleted == null)) {
                this.SetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxAdvancedSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxAdvancedSettings", new object[] {
                        itemId,
                        accountId,
                        enablePOP,
                        enableIMAP,
                        enableOWA,
                        enableMAPI,
                        enableActiveSync,
                        issueWarningKB,
                        prohibitSendKB,
                        prohibitSendReceiveKB,
                        keepDeletedItemsDays}, this.SetMailboxAdvancedSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxAdvancedSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxAdvancedSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxAdvancedSettingsCompleted(this, new SetMailboxAdvancedSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxSetupInstructions", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup) {
            object[] results = this.Invoke("GetMailboxSetupInstructions", new object[] {
                        itemId,
                        accountId,
                        pmm,
                        emailMode,
                        signup});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxSetupInstructions", new object[] {
                        itemId,
                        accountId,
                        pmm,
                        emailMode,
                        signup}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetMailboxSetupInstructions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxSetupInstructionsAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup) {
            this.GetMailboxSetupInstructionsAsync(itemId, accountId, pmm, emailMode, signup, null);
        }
        
        /// <remarks/>
        public void GetMailboxSetupInstructionsAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, object userState) {
            if ((this.GetMailboxSetupInstructionsOperationCompleted == null)) {
                this.GetMailboxSetupInstructionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxSetupInstructionsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxSetupInstructions", new object[] {
                        itemId,
                        accountId,
                        pmm,
                        emailMode,
                        signup}, this.GetMailboxSetupInstructionsOperationCompleted, userState);
        }
        
        private void OnGetMailboxSetupInstructionsOperationCompleted(object arg) {
            if ((this.GetMailboxSetupInstructionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxSetupInstructionsCompleted(this, new GetMailboxSetupInstructionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SendMailboxSetupInstructions", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SendMailboxSetupInstructions(int itemId, int accountId, bool signup, string to, string cc) {
            object[] results = this.Invoke("SendMailboxSetupInstructions", new object[] {
                        itemId,
                        accountId,
                        signup,
                        to,
                        cc});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSendMailboxSetupInstructions(int itemId, int accountId, bool signup, string to, string cc, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SendMailboxSetupInstructions", new object[] {
                        itemId,
                        accountId,
                        signup,
                        to,
                        cc}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSendMailboxSetupInstructions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SendMailboxSetupInstructionsAsync(int itemId, int accountId, bool signup, string to, string cc) {
            this.SendMailboxSetupInstructionsAsync(itemId, accountId, signup, to, cc, null);
        }
        
        /// <remarks/>
        public void SendMailboxSetupInstructionsAsync(int itemId, int accountId, bool signup, string to, string cc, object userState) {
            if ((this.SendMailboxSetupInstructionsOperationCompleted == null)) {
                this.SendMailboxSetupInstructionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendMailboxSetupInstructionsOperationCompleted);
            }
            this.InvokeAsync("SendMailboxSetupInstructions", new object[] {
                        itemId,
                        accountId,
                        signup,
                        to,
                        cc}, this.SendMailboxSetupInstructionsOperationCompleted, userState);
        }
        
        private void OnSendMailboxSetupInstructionsOperationCompleted(object arg) {
            if ((this.SendMailboxSetupInstructionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SendMailboxSetupInstructionsCompleted(this, new SendMailboxSetupInstructionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetMailboxManagerSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetMailboxManagerSettings(int itemId, int accountId, bool pmmAllowed, MailboxManagerActions action) {
            object[] results = this.Invoke("SetMailboxManagerSettings", new object[] {
                        itemId,
                        accountId,
                        pmmAllowed,
                        action});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxManagerSettings(int itemId, int accountId, bool pmmAllowed, MailboxManagerActions action, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxManagerSettings", new object[] {
                        itemId,
                        accountId,
                        pmmAllowed,
                        action}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetMailboxManagerSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetMailboxManagerSettingsAsync(int itemId, int accountId, bool pmmAllowed, MailboxManagerActions action) {
            this.SetMailboxManagerSettingsAsync(itemId, accountId, pmmAllowed, action, null);
        }
        
        /// <remarks/>
        public void SetMailboxManagerSettingsAsync(int itemId, int accountId, bool pmmAllowed, MailboxManagerActions action, object userState) {
            if ((this.SetMailboxManagerSettingsOperationCompleted == null)) {
                this.SetMailboxManagerSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxManagerSettingsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxManagerSettings", new object[] {
                        itemId,
                        accountId,
                        pmmAllowed,
                        action}, this.SetMailboxManagerSettingsOperationCompleted, userState);
        }
        
        private void OnSetMailboxManagerSettingsOperationCompleted(object arg) {
            if ((this.SetMailboxManagerSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxManagerSettingsCompleted(this, new SetMailboxManagerSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMailboxPermissions", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMailbox GetMailboxPermissions(int itemId, int accountId) {
            object[] results = this.Invoke("GetMailboxPermissions", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMailboxPermissions(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMailboxPermissions", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMailbox EndGetMailboxPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMailbox)(results[0]));
        }
        
        /// <remarks/>
        public void GetMailboxPermissionsAsync(int itemId, int accountId) {
            this.GetMailboxPermissionsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetMailboxPermissionsAsync(int itemId, int accountId, object userState) {
            if ((this.GetMailboxPermissionsOperationCompleted == null)) {
                this.GetMailboxPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetMailboxPermissions", new object[] {
                        itemId,
                        accountId}, this.GetMailboxPermissionsOperationCompleted, userState);
        }
        
        private void OnGetMailboxPermissionsOperationCompleted(object arg) {
            if ((this.GetMailboxPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMailboxPermissionsCompleted(this, new GetMailboxPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetMailboxPermissions", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetMailboxPermissions(int itemId, int accountId, string[] sendAsaccounts, string[] fullAccessAcounts) {
            object[] results = this.Invoke("SetMailboxPermissions", new object[] {
                        itemId,
                        accountId,
                        sendAsaccounts,
                        fullAccessAcounts});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetMailboxPermissions(int itemId, int accountId, string[] sendAsaccounts, string[] fullAccessAcounts, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetMailboxPermissions", new object[] {
                        itemId,
                        accountId,
                        sendAsaccounts,
                        fullAccessAcounts}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetMailboxPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetMailboxPermissionsAsync(int itemId, int accountId, string[] sendAsaccounts, string[] fullAccessAcounts) {
            this.SetMailboxPermissionsAsync(itemId, accountId, sendAsaccounts, fullAccessAcounts, null);
        }
        
        /// <remarks/>
        public void SetMailboxPermissionsAsync(int itemId, int accountId, string[] sendAsaccounts, string[] fullAccessAcounts, object userState) {
            if ((this.SetMailboxPermissionsOperationCompleted == null)) {
                this.SetMailboxPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxPermissionsOperationCompleted);
            }
            this.InvokeAsync("SetMailboxPermissions", new object[] {
                        itemId,
                        accountId,
                        sendAsaccounts,
                        fullAccessAcounts}, this.SetMailboxPermissionsOperationCompleted, userState);
        }
        
        private void OnSetMailboxPermissionsOperationCompleted(object arg) {
            if ((this.SetMailboxPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMailboxPermissionsCompleted(this, new SetMailboxPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CreateContact", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CreateContact(int itemId, string displayName, string email) {
            object[] results = this.Invoke("CreateContact", new object[] {
                        itemId,
                        displayName,
                        email});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateContact(int itemId, string displayName, string email, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateContact", new object[] {
                        itemId,
                        displayName,
                        email}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCreateContact(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CreateContactAsync(int itemId, string displayName, string email) {
            this.CreateContactAsync(itemId, displayName, email, null);
        }
        
        /// <remarks/>
        public void CreateContactAsync(int itemId, string displayName, string email, object userState) {
            if ((this.CreateContactOperationCompleted == null)) {
                this.CreateContactOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateContactOperationCompleted);
            }
            this.InvokeAsync("CreateContact", new object[] {
                        itemId,
                        displayName,
                        email}, this.CreateContactOperationCompleted, userState);
        }
        
        private void OnCreateContactOperationCompleted(object arg) {
            if ((this.CreateContactCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateContactCompleted(this, new CreateContactCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteContact", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteContact(int itemId, int accountId) {
            object[] results = this.Invoke("DeleteContact", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteContact(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteContact", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteContact(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteContactAsync(int itemId, int accountId) {
            this.DeleteContactAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DeleteContactAsync(int itemId, int accountId, object userState) {
            if ((this.DeleteContactOperationCompleted == null)) {
                this.DeleteContactOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteContactOperationCompleted);
            }
            this.InvokeAsync("DeleteContact", new object[] {
                        itemId,
                        accountId}, this.DeleteContactOperationCompleted, userState);
        }
        
        private void OnDeleteContactOperationCompleted(object arg) {
            if ((this.DeleteContactCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteContactCompleted(this, new DeleteContactCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetContactGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeContact GetContactGeneralSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetContactGeneralSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetContactGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetContactGeneralSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeContact EndGetContactGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public void GetContactGeneralSettingsAsync(int itemId, int accountId) {
            this.GetContactGeneralSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetContactGeneralSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetContactGeneralSettingsOperationCompleted == null)) {
                this.GetContactGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetContactGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetContactGeneralSettings", new object[] {
                        itemId,
                        accountId}, this.GetContactGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetContactGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetContactGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetContactGeneralSettingsCompleted(this, new GetContactGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetContactGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetContactGeneralSettings(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string emailAddress, 
                    bool hideAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat) {
            object[] results = this.Invoke("SetContactGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        emailAddress,
                        hideAddressBook,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        useMapiRichTextFormat});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetContactGeneralSettings(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string emailAddress, 
                    bool hideAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetContactGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        emailAddress,
                        hideAddressBook,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        useMapiRichTextFormat}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetContactGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetContactGeneralSettingsAsync(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string emailAddress, 
                    bool hideAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat) {
            this.SetContactGeneralSettingsAsync(itemId, accountId, displayName, emailAddress, hideAddressBook, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, useMapiRichTextFormat, null);
        }
        
        /// <remarks/>
        public void SetContactGeneralSettingsAsync(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string emailAddress, 
                    bool hideAddressBook, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    int useMapiRichTextFormat, 
                    object userState) {
            if ((this.SetContactGeneralSettingsOperationCompleted == null)) {
                this.SetContactGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetContactGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetContactGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        emailAddress,
                        hideAddressBook,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        useMapiRichTextFormat}, this.SetContactGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetContactGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetContactGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetContactGeneralSettingsCompleted(this, new SetContactGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetContactMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeContact GetContactMailFlowSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetContactMailFlowSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetContactMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetContactMailFlowSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeContact EndGetContactMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeContact)(results[0]));
        }
        
        /// <remarks/>
        public void GetContactMailFlowSettingsAsync(int itemId, int accountId) {
            this.GetContactMailFlowSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetContactMailFlowSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetContactMailFlowSettingsOperationCompleted == null)) {
                this.GetContactMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetContactMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetContactMailFlowSettings", new object[] {
                        itemId,
                        accountId}, this.GetContactMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetContactMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetContactMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetContactMailFlowSettingsCompleted(this, new GetContactMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetContactMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetContactMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            object[] results = this.Invoke("SetContactMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetContactMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetContactMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetContactMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetContactMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.SetContactMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetContactMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
            if ((this.SetContactMailFlowSettingsOperationCompleted == null)) {
                this.SetContactMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetContactMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetContactMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, this.SetContactMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetContactMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetContactMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetContactMailFlowSettingsCompleted(this, new SetContactMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CreateDistributionList", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CreateDistributionList(int itemId, string displayName, string name, string domain, int managerId) {
            object[] results = this.Invoke("CreateDistributionList", new object[] {
                        itemId,
                        displayName,
                        name,
                        domain,
                        managerId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateDistributionList(int itemId, string displayName, string name, string domain, int managerId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateDistributionList", new object[] {
                        itemId,
                        displayName,
                        name,
                        domain,
                        managerId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCreateDistributionList(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CreateDistributionListAsync(int itemId, string displayName, string name, string domain, int managerId) {
            this.CreateDistributionListAsync(itemId, displayName, name, domain, managerId, null);
        }
        
        /// <remarks/>
        public void CreateDistributionListAsync(int itemId, string displayName, string name, string domain, int managerId, object userState) {
            if ((this.CreateDistributionListOperationCompleted == null)) {
                this.CreateDistributionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDistributionListOperationCompleted);
            }
            this.InvokeAsync("CreateDistributionList", new object[] {
                        itemId,
                        displayName,
                        name,
                        domain,
                        managerId}, this.CreateDistributionListOperationCompleted, userState);
        }
        
        private void OnCreateDistributionListOperationCompleted(object arg) {
            if ((this.CreateDistributionListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateDistributionListCompleted(this, new CreateDistributionListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteDistributionList", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteDistributionList(int itemId, int accountId) {
            object[] results = this.Invoke("DeleteDistributionList", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteDistributionList(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteDistributionList", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteDistributionList(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteDistributionListAsync(int itemId, int accountId) {
            this.DeleteDistributionListAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DeleteDistributionListAsync(int itemId, int accountId, object userState) {
            if ((this.DeleteDistributionListOperationCompleted == null)) {
                this.DeleteDistributionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDistributionListOperationCompleted);
            }
            this.InvokeAsync("DeleteDistributionList", new object[] {
                        itemId,
                        accountId}, this.DeleteDistributionListOperationCompleted, userState);
        }
        
        private void OnDeleteDistributionListOperationCompleted(object arg) {
            if ((this.DeleteDistributionListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteDistributionListCompleted(this, new DeleteDistributionListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetDistributionListGeneralSettings" +
            "", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeDistributionList GetDistributionListGeneralSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetDistributionListGeneralSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListGeneralSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeDistributionList EndGetDistributionListGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListGeneralSettingsAsync(int itemId, int accountId) {
            this.GetDistributionListGeneralSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetDistributionListGeneralSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetDistributionListGeneralSettingsOperationCompleted == null)) {
                this.GetDistributionListGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListGeneralSettings", new object[] {
                        itemId,
                        accountId}, this.GetDistributionListGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetDistributionListGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetDistributionListGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListGeneralSettingsCompleted(this, new GetDistributionListGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetDistributionListGeneralSettings" +
            "", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetDistributionListGeneralSettings(int itemId, int accountId, string displayName, bool hideAddressBook, string managerAccount, string[] memberAccounts, string notes) {
            object[] results = this.Invoke("SetDistributionListGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        hideAddressBook,
                        managerAccount,
                        memberAccounts,
                        notes});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListGeneralSettings(int itemId, int accountId, string displayName, bool hideAddressBook, string managerAccount, string[] memberAccounts, string notes, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        hideAddressBook,
                        managerAccount,
                        memberAccounts,
                        notes}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetDistributionListGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetDistributionListGeneralSettingsAsync(int itemId, int accountId, string displayName, bool hideAddressBook, string managerAccount, string[] memberAccounts, string notes) {
            this.SetDistributionListGeneralSettingsAsync(itemId, accountId, displayName, hideAddressBook, managerAccount, memberAccounts, notes, null);
        }
        
        /// <remarks/>
        public void SetDistributionListGeneralSettingsAsync(int itemId, int accountId, string displayName, bool hideAddressBook, string managerAccount, string[] memberAccounts, string notes, object userState) {
            if ((this.SetDistributionListGeneralSettingsOperationCompleted == null)) {
                this.SetDistributionListGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        hideAddressBook,
                        managerAccount,
                        memberAccounts,
                        notes}, this.SetDistributionListGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetDistributionListGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetDistributionListGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListGeneralSettingsCompleted(this, new SetDistributionListGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetDistributionListMailFlowSetting" +
            "s", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetDistributionListMailFlowSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListMailFlowSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeDistributionList EndGetDistributionListMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeDistributionList)(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListMailFlowSettingsAsync(int itemId, int accountId) {
            this.GetDistributionListMailFlowSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetDistributionListMailFlowSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetDistributionListMailFlowSettingsOperationCompleted == null)) {
                this.GetDistributionListMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListMailFlowSettings", new object[] {
                        itemId,
                        accountId}, this.GetDistributionListMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetDistributionListMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetDistributionListMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListMailFlowSettingsCompleted(this, new GetDistributionListMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetDistributionListMailFlowSetting" +
            "s", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetDistributionListMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            object[] results = this.Invoke("SetDistributionListMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetDistributionListMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetDistributionListMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.SetDistributionListMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetDistributionListMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
            if ((this.SetDistributionListMailFlowSettingsOperationCompleted == null)) {
                this.SetDistributionListMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, this.SetDistributionListMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetDistributionListMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetDistributionListMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListMailFlowSettingsCompleted(this, new SetDistributionListMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetDistributionListEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeEmailAddress[] GetDistributionListEmailAddresses(int itemId, int accountId) {
            object[] results = this.Invoke("GetDistributionListEmailAddresses", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListEmailAddresses", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] EndGetDistributionListEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListEmailAddressesAsync(int itemId, int accountId) {
            this.GetDistributionListEmailAddressesAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetDistributionListEmailAddressesAsync(int itemId, int accountId, object userState) {
            if ((this.GetDistributionListEmailAddressesOperationCompleted == null)) {
                this.GetDistributionListEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListEmailAddresses", new object[] {
                        itemId,
                        accountId}, this.GetDistributionListEmailAddressesOperationCompleted, userState);
        }
        
        private void OnGetDistributionListEmailAddressesOperationCompleted(object arg) {
            if ((this.GetDistributionListEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListEmailAddressesCompleted(this, new GetDistributionListEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/AddDistributionListEmailAddress", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int AddDistributionListEmailAddress(int itemId, int accountId, string emailAddress) {
            object[] results = this.Invoke("AddDistributionListEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddDistributionListEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddDistributionListEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndAddDistributionListEmailAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void AddDistributionListEmailAddressAsync(int itemId, int accountId, string emailAddress) {
            this.AddDistributionListEmailAddressAsync(itemId, accountId, emailAddress, null);
        }
        
        /// <remarks/>
        public void AddDistributionListEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) {
            if ((this.AddDistributionListEmailAddressOperationCompleted == null)) {
                this.AddDistributionListEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDistributionListEmailAddressOperationCompleted);
            }
            this.InvokeAsync("AddDistributionListEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, this.AddDistributionListEmailAddressOperationCompleted, userState);
        }
        
        private void OnAddDistributionListEmailAddressOperationCompleted(object arg) {
            if ((this.AddDistributionListEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddDistributionListEmailAddressCompleted(this, new AddDistributionListEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetDistributionListPrimaryEmailAdd" +
            "ress", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress) {
            object[] results = this.Invoke("SetDistributionListPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetDistributionListPrimaryEmailAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetDistributionListPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) {
            this.SetDistributionListPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null);
        }
        
        /// <remarks/>
        public void SetDistributionListPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) {
            if ((this.SetDistributionListPrimaryEmailAddressOperationCompleted == null)) {
                this.SetDistributionListPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListPrimaryEmailAddressOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, this.SetDistributionListPrimaryEmailAddressOperationCompleted, userState);
        }
        
        private void OnSetDistributionListPrimaryEmailAddressOperationCompleted(object arg) {
            if ((this.SetDistributionListPrimaryEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListPrimaryEmailAddressCompleted(this, new SetDistributionListPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeleteDistributionListEmailAddress" +
            "es", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses) {
            object[] results = this.Invoke("DeleteDistributionListEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteDistributionListEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteDistributionListEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteDistributionListEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) {
            this.DeleteDistributionListEmailAddressesAsync(itemId, accountId, emailAddresses, null);
        }
        
        /// <remarks/>
        public void DeleteDistributionListEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) {
            if ((this.DeleteDistributionListEmailAddressesOperationCompleted == null)) {
                this.DeleteDistributionListEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDistributionListEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("DeleteDistributionListEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses}, this.DeleteDistributionListEmailAddressesOperationCompleted, userState);
        }
        
        private void OnDeleteDistributionListEmailAddressesOperationCompleted(object arg) {
            if ((this.DeleteDistributionListEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteDistributionListEmailAddressesCompleted(this, new DeleteDistributionListEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetDistributionListPermissions", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ResultObject SetDistributionListPermissions(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts) {
            object[] results = this.Invoke("SetDistributionListPermissions", new object[] {
                        itemId,
                        accountId,
                        sendAsAccounts,
                        sendOnBehalfAccounts});
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetDistributionListPermissions(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetDistributionListPermissions", new object[] {
                        itemId,
                        accountId,
                        sendAsAccounts,
                        sendOnBehalfAccounts}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResultObject EndSetDistributionListPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResultObject)(results[0]));
        }
        
        /// <remarks/>
        public void SetDistributionListPermissionsAsync(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts) {
            this.SetDistributionListPermissionsAsync(itemId, accountId, sendAsAccounts, sendOnBehalfAccounts, null);
        }
        
        /// <remarks/>
        public void SetDistributionListPermissionsAsync(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts, object userState) {
            if ((this.SetDistributionListPermissionsOperationCompleted == null)) {
                this.SetDistributionListPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListPermissionsOperationCompleted);
            }
            this.InvokeAsync("SetDistributionListPermissions", new object[] {
                        itemId,
                        accountId,
                        sendAsAccounts,
                        sendOnBehalfAccounts}, this.SetDistributionListPermissionsOperationCompleted, userState);
        }
        
        private void OnSetDistributionListPermissionsOperationCompleted(object arg) {
            if ((this.SetDistributionListPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDistributionListPermissionsCompleted(this, new SetDistributionListPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetDistributionListPermissions", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeDistributionListResult GetDistributionListPermissions(int itemId, int accountId) {
            object[] results = this.Invoke("GetDistributionListPermissions", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeDistributionListResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDistributionListPermissions(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDistributionListPermissions", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeDistributionListResult EndGetDistributionListPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeDistributionListResult)(results[0]));
        }
        
        /// <remarks/>
        public void GetDistributionListPermissionsAsync(int itemId, int accountId) {
            this.GetDistributionListPermissionsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetDistributionListPermissionsAsync(int itemId, int accountId, object userState) {
            if ((this.GetDistributionListPermissionsOperationCompleted == null)) {
                this.GetDistributionListPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDistributionListPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetDistributionListPermissions", new object[] {
                        itemId,
                        accountId}, this.GetDistributionListPermissionsOperationCompleted, userState);
        }
        
        private void OnGetDistributionListPermissionsOperationCompleted(object arg) {
            if ((this.GetDistributionListPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDistributionListPermissionsCompleted(this, new GetDistributionListPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CreatePublicFolder", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CreatePublicFolder(int itemId, string parentFolder, string folderName, bool mailEnabled, string accountName, string domain) {
            object[] results = this.Invoke("CreatePublicFolder", new object[] {
                        itemId,
                        parentFolder,
                        folderName,
                        mailEnabled,
                        accountName,
                        domain});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreatePublicFolder(int itemId, string parentFolder, string folderName, bool mailEnabled, string accountName, string domain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreatePublicFolder", new object[] {
                        itemId,
                        parentFolder,
                        folderName,
                        mailEnabled,
                        accountName,
                        domain}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCreatePublicFolder(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CreatePublicFolderAsync(int itemId, string parentFolder, string folderName, bool mailEnabled, string accountName, string domain) {
            this.CreatePublicFolderAsync(itemId, parentFolder, folderName, mailEnabled, accountName, domain, null);
        }
        
        /// <remarks/>
        public void CreatePublicFolderAsync(int itemId, string parentFolder, string folderName, bool mailEnabled, string accountName, string domain, object userState) {
            if ((this.CreatePublicFolderOperationCompleted == null)) {
                this.CreatePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreatePublicFolderOperationCompleted);
            }
            this.InvokeAsync("CreatePublicFolder", new object[] {
                        itemId,
                        parentFolder,
                        folderName,
                        mailEnabled,
                        accountName,
                        domain}, this.CreatePublicFolderOperationCompleted, userState);
        }
        
        private void OnCreatePublicFolderOperationCompleted(object arg) {
            if ((this.CreatePublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreatePublicFolderCompleted(this, new CreatePublicFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeletePublicFolders", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeletePublicFolders(int itemId, int[] accountIds) {
            object[] results = this.Invoke("DeletePublicFolders", new object[] {
                        itemId,
                        accountIds});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeletePublicFolders(int itemId, int[] accountIds, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeletePublicFolders", new object[] {
                        itemId,
                        accountIds}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeletePublicFolders(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeletePublicFoldersAsync(int itemId, int[] accountIds) {
            this.DeletePublicFoldersAsync(itemId, accountIds, null);
        }
        
        /// <remarks/>
        public void DeletePublicFoldersAsync(int itemId, int[] accountIds, object userState) {
            if ((this.DeletePublicFoldersOperationCompleted == null)) {
                this.DeletePublicFoldersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFoldersOperationCompleted);
            }
            this.InvokeAsync("DeletePublicFolders", new object[] {
                        itemId,
                        accountIds}, this.DeletePublicFoldersOperationCompleted, userState);
        }
        
        private void OnDeletePublicFoldersOperationCompleted(object arg) {
            if ((this.DeletePublicFoldersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeletePublicFoldersCompleted(this, new DeletePublicFoldersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeletePublicFolder", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeletePublicFolder(int itemId, int accountId) {
            object[] results = this.Invoke("DeletePublicFolder", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeletePublicFolder(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeletePublicFolder", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeletePublicFolder(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeletePublicFolderAsync(int itemId, int accountId) {
            this.DeletePublicFolderAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DeletePublicFolderAsync(int itemId, int accountId, object userState) {
            if ((this.DeletePublicFolderOperationCompleted == null)) {
                this.DeletePublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderOperationCompleted);
            }
            this.InvokeAsync("DeletePublicFolder", new object[] {
                        itemId,
                        accountId}, this.DeletePublicFolderOperationCompleted, userState);
        }
        
        private void OnDeletePublicFolderOperationCompleted(object arg) {
            if ((this.DeletePublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeletePublicFolderCompleted(this, new DeletePublicFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/EnableMailPublicFolder", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int EnableMailPublicFolder(int itemId, int accountId, string name, string domain) {
            object[] results = this.Invoke("EnableMailPublicFolder", new object[] {
                        itemId,
                        accountId,
                        name,
                        domain});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginEnableMailPublicFolder(int itemId, int accountId, string name, string domain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("EnableMailPublicFolder", new object[] {
                        itemId,
                        accountId,
                        name,
                        domain}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndEnableMailPublicFolder(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void EnableMailPublicFolderAsync(int itemId, int accountId, string name, string domain) {
            this.EnableMailPublicFolderAsync(itemId, accountId, name, domain, null);
        }
        
        /// <remarks/>
        public void EnableMailPublicFolderAsync(int itemId, int accountId, string name, string domain, object userState) {
            if ((this.EnableMailPublicFolderOperationCompleted == null)) {
                this.EnableMailPublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEnableMailPublicFolderOperationCompleted);
            }
            this.InvokeAsync("EnableMailPublicFolder", new object[] {
                        itemId,
                        accountId,
                        name,
                        domain}, this.EnableMailPublicFolderOperationCompleted, userState);
        }
        
        private void OnEnableMailPublicFolderOperationCompleted(object arg) {
            if ((this.EnableMailPublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.EnableMailPublicFolderCompleted(this, new EnableMailPublicFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DisableMailPublicFolder", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DisableMailPublicFolder(int itemId, int accountId) {
            object[] results = this.Invoke("DisableMailPublicFolder", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDisableMailPublicFolder(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DisableMailPublicFolder", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDisableMailPublicFolder(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DisableMailPublicFolderAsync(int itemId, int accountId) {
            this.DisableMailPublicFolderAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DisableMailPublicFolderAsync(int itemId, int accountId, object userState) {
            if ((this.DisableMailPublicFolderOperationCompleted == null)) {
                this.DisableMailPublicFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableMailPublicFolderOperationCompleted);
            }
            this.InvokeAsync("DisableMailPublicFolder", new object[] {
                        itemId,
                        accountId}, this.DisableMailPublicFolderOperationCompleted, userState);
        }
        
        private void OnDisableMailPublicFolderOperationCompleted(object arg) {
            if ((this.DisableMailPublicFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DisableMailPublicFolderCompleted(this, new DisableMailPublicFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetPublicFolderGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangePublicFolder GetPublicFolderGeneralSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetPublicFolderGeneralSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderGeneralSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangePublicFolder EndGetPublicFolderGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderGeneralSettingsAsync(int itemId, int accountId) {
            this.GetPublicFolderGeneralSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderGeneralSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetPublicFolderGeneralSettingsOperationCompleted == null)) {
                this.GetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderGeneralSettings", new object[] {
                        itemId,
                        accountId}, this.GetPublicFolderGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetPublicFolderGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderGeneralSettingsCompleted(this, new GetPublicFolderGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetPublicFolderGeneralSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetPublicFolderGeneralSettings(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts) {
            object[] results = this.Invoke("SetPublicFolderGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        newName,
                        hideAddressBook,
                        authorAccounts});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderGeneralSettings(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        newName,
                        hideAddressBook,
                        authorAccounts}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetPublicFolderGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetPublicFolderGeneralSettingsAsync(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts) {
            this.SetPublicFolderGeneralSettingsAsync(itemId, accountId, newName, hideAddressBook, authorAccounts, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderGeneralSettingsAsync(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts, object userState) {
            if ((this.SetPublicFolderGeneralSettingsOperationCompleted == null)) {
                this.SetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        newName,
                        hideAddressBook,
                        authorAccounts}, this.SetPublicFolderGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetPublicFolderGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderGeneralSettingsCompleted(this, new SetPublicFolderGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetPublicFolderMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangePublicFolder GetPublicFolderMailFlowSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] {
                        itemId,
                        accountId});
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangePublicFolder EndGetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangePublicFolder)(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId) {
            this.GetPublicFolderMailFlowSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) {
                this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] {
                        itemId,
                        accountId}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderMailFlowSettingsOperationCompleted(object arg) {
            if ((this.GetPublicFolderMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderMailFlowSettingsCompleted(this, new GetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetPublicFolderMailFlowSettings", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            object[] results = this.Invoke("SetPublicFolderMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) {
            this.SetPublicFolderMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) {
            if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) {
                this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] {
                        itemId,
                        accountId,
                        acceptAccounts,
                        rejectAccounts,
                        requireSenderAuthentication}, this.SetPublicFolderMailFlowSettingsOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderMailFlowSettingsOperationCompleted(object arg) {
            if ((this.SetPublicFolderMailFlowSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderMailFlowSettingsCompleted(this, new SetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetPublicFolderEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeEmailAddress[] GetPublicFolderEmailAddresses(int itemId, int accountId) {
            object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPublicFolderEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] EndGetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeEmailAddress[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId) {
            this.GetPublicFolderEmailAddressesAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId, object userState) {
            if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) {
                this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] {
                        itemId,
                        accountId}, this.GetPublicFolderEmailAddressesOperationCompleted, userState);
        }
        
        private void OnGetPublicFolderEmailAddressesOperationCompleted(object arg) {
            if ((this.GetPublicFolderEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPublicFolderEmailAddressesCompleted(this, new GetPublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/AddPublicFolderEmailAddress", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int AddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress) {
            object[] results = this.Invoke("AddPublicFolderEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddPublicFolderEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndAddPublicFolderEmailAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress) {
            this.AddPublicFolderEmailAddressAsync(itemId, accountId, emailAddress, null);
        }
        
        /// <remarks/>
        public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) {
            if ((this.AddPublicFolderEmailAddressOperationCompleted == null)) {
                this.AddPublicFolderEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPublicFolderEmailAddressOperationCompleted);
            }
            this.InvokeAsync("AddPublicFolderEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, this.AddPublicFolderEmailAddressOperationCompleted, userState);
        }
        
        private void OnAddPublicFolderEmailAddressOperationCompleted(object arg) {
            if ((this.AddPublicFolderEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddPublicFolderEmailAddressCompleted(this, new AddPublicFolderEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/SetPublicFolderPrimaryEmailAddress" +
            "", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress) {
            object[] results = this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetPublicFolderPrimaryEmailAddress(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) {
            this.SetPublicFolderPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null);
        }
        
        /// <remarks/>
        public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) {
            if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) {
                this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted);
            }
            this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] {
                        itemId,
                        accountId,
                        emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState);
        }
        
        private void OnSetPublicFolderPrimaryEmailAddressOperationCompleted(object arg) {
            if ((this.SetPublicFolderPrimaryEmailAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPublicFolderPrimaryEmailAddressCompleted(this, new SetPublicFolderPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/DeletePublicFolderEmailAddresses", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses) {
            object[] results = this.Invoke("DeletePublicFolderEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeletePublicFolderEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeletePublicFolderEmailAddresses(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) {
            this.DeletePublicFolderEmailAddressesAsync(itemId, accountId, emailAddresses, null);
        }
        
        /// <remarks/>
        public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) {
            if ((this.DeletePublicFolderEmailAddressesOperationCompleted == null)) {
                this.DeletePublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderEmailAddressesOperationCompleted);
            }
            this.InvokeAsync("DeletePublicFolderEmailAddresses", new object[] {
                        itemId,
                        accountId,
                        emailAddresses}, this.DeletePublicFolderEmailAddressesOperationCompleted, userState);
        }
        
        private void OnDeletePublicFolderEmailAddressesOperationCompleted(object arg) {
            if ((this.DeletePublicFolderEmailAddressesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeletePublicFolderEmailAddressesCompleted(this, new DeletePublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMobileDevices", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) {
            object[] results = this.Invoke("GetMobileDevices", new object[] {
                        itemId,
                        accountId});
            return ((ExchangeMobileDevice[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMobileDevices(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMobileDevices", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMobileDevice[] EndGetMobileDevices(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMobileDevice[])(results[0]));
        }
        
        /// <remarks/>
        public void GetMobileDevicesAsync(int itemId, int accountId) {
            this.GetMobileDevicesAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetMobileDevicesAsync(int itemId, int accountId, object userState) {
            if ((this.GetMobileDevicesOperationCompleted == null)) {
                this.GetMobileDevicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDevicesOperationCompleted);
            }
            this.InvokeAsync("GetMobileDevices", new object[] {
                        itemId,
                        accountId}, this.GetMobileDevicesOperationCompleted, userState);
        }
        
        private void OnGetMobileDevicesOperationCompleted(object arg) {
            if ((this.GetMobileDevicesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMobileDevicesCompleted(this, new GetMobileDevicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/GetMobileDevice", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) {
            object[] results = this.Invoke("GetMobileDevice", new object[] {
                        itemId,
                        deviceId});
            return ((ExchangeMobileDevice)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetMobileDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetMobileDevice", new object[] {
                        itemId,
                        deviceId}, callback, asyncState);
        }
        
        /// <remarks/>
        public ExchangeMobileDevice EndGetMobileDevice(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ExchangeMobileDevice)(results[0]));
        }
        
        /// <remarks/>
        public void GetMobileDeviceAsync(int itemId, string deviceId) {
            this.GetMobileDeviceAsync(itemId, deviceId, null);
        }
        
        /// <remarks/>
        public void GetMobileDeviceAsync(int itemId, string deviceId, object userState) {
            if ((this.GetMobileDeviceOperationCompleted == null)) {
                this.GetMobileDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDeviceOperationCompleted);
            }
            this.InvokeAsync("GetMobileDevice", new object[] {
                        itemId,
                        deviceId}, this.GetMobileDeviceOperationCompleted, userState);
        }
        
        private void OnGetMobileDeviceOperationCompleted(object arg) {
            if ((this.GetMobileDeviceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMobileDeviceCompleted(this, new GetMobileDeviceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/WipeDataFromDevice", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void WipeDataFromDevice(int itemId, string deviceId) {
            this.Invoke("WipeDataFromDevice", new object[] {
                        itemId,
                        deviceId});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginWipeDataFromDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("WipeDataFromDevice", new object[] {
                        itemId,
                        deviceId}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void WipeDataFromDeviceAsync(int itemId, string deviceId) {
            this.WipeDataFromDeviceAsync(itemId, deviceId, null);
        }
        
        /// <remarks/>
        public void WipeDataFromDeviceAsync(int itemId, string deviceId, object userState) {
            if ((this.WipeDataFromDeviceOperationCompleted == null)) {
                this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted);
            }
            this.InvokeAsync("WipeDataFromDevice", new object[] {
                        itemId,
                        deviceId}, this.WipeDataFromDeviceOperationCompleted, userState);
        }
        
        private void OnWipeDataFromDeviceOperationCompleted(object arg) {
            if ((this.WipeDataFromDeviceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/CancelRemoteWipeRequest", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CancelRemoteWipeRequest(int itemId, string deviceId) {
            this.Invoke("CancelRemoteWipeRequest", new object[] {
                        itemId,
                        deviceId});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCancelRemoteWipeRequest(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CancelRemoteWipeRequest", new object[] {
                        itemId,
                        deviceId}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CancelRemoteWipeRequestAsync(int itemId, string deviceId) {
            this.CancelRemoteWipeRequestAsync(itemId, deviceId, null);
        }
        
        /// <remarks/>
        public void CancelRemoteWipeRequestAsync(int itemId, string deviceId, object userState) {
            if ((this.CancelRemoteWipeRequestOperationCompleted == null)) {
                this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted);
            }
            this.InvokeAsync("CancelRemoteWipeRequest", new object[] {
                        itemId,
                        deviceId}, this.CancelRemoteWipeRequestOperationCompleted, userState);
        }
        
        private void OnCancelRemoteWipeRequestOperationCompleted(object arg) {
            if ((this.CancelRemoteWipeRequestCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/dotpanel/enterpriseserver/RemoveDevice", RequestNamespace="http://smbsaas/dotpanel/enterpriseserver", ResponseNamespace="http://smbsaas/dotpanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void RemoveDevice(int itemId, string deviceId) {
            this.Invoke("RemoveDevice", new object[] {
                        itemId,
                        deviceId});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRemoveDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RemoveDevice", new object[] {
                        itemId,
                        deviceId}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndRemoveDevice(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void RemoveDeviceAsync(int itemId, string deviceId) {
            this.RemoveDeviceAsync(itemId, deviceId, null);
        }
        
        /// <remarks/>
        public void RemoveDeviceAsync(int itemId, string deviceId, object userState) {
            if ((this.RemoveDeviceOperationCompleted == null)) {
                this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted);
            }
            this.InvokeAsync("RemoveDevice", new object[] {
                        itemId,
                        deviceId}, this.RemoveDeviceOperationCompleted, userState);
        }
        
        private void OnRemoveDeviceOperationCompleted(object arg) {
            if ((this.RemoveDeviceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetRawExchangeOrganizationsPagedCompletedEventHandler(object sender, GetRawExchangeOrganizationsPagedCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetRawExchangeOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetRawExchangeOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public System.Data.DataSet Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((System.Data.DataSet)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetExchangeOrganizationsPagedCompletedEventHandler(object sender, GetExchangeOrganizationsPagedCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExchangeOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExchangeOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationsPaged Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationsPaged)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetExchangeOrganizationsCompletedEventHandler(object sender, GetExchangeOrganizationsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExchangeOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExchangeOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationStatistics Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationStatistics)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetOrganizationStorageLimitsCompletedEventHandler(object sender, GetOrganizationStorageLimitsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationStorageLimitsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationStorageLimitsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetOrganizationStorageLimitsCompletedEventHandler(object sender, SetOrganizationStorageLimitsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetOrganizationStorageLimitsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetOrganizationStorageLimitsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxesStatisticsCompletedEventHandler(object sender, GetMailboxesStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxesStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxesStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeItemStatistics[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFoldersStatisticsCompletedEventHandler(object sender, GetPublicFoldersStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFoldersStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFoldersStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeItemStatistics[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeItemStatistics[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CalculateOrganizationDiskspaceCompletedEventHandler(object sender, CalculateOrganizationDiskspaceCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CalculateOrganizationDiskspaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CalculateOrganizationDiskspaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetActiveSyncPolicyCompletedEventHandler(object sender, GetActiveSyncPolicyCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeActiveSyncPolicy Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeActiveSyncPolicy)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetActiveSyncPolicyCompletedEventHandler(object sender, SetActiveSyncPolicyCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void AddAuthoritativeDomainCompletedEventHandler(object sender, AddAuthoritativeDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AddAuthoritativeDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AddAuthoritativeDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteAuthoritativeDomainCompletedEventHandler(object sender, DeleteAuthoritativeDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteAuthoritativeDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteAuthoritativeDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetAccountsPagedCompletedEventHandler(object sender, GetAccountsPagedCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAccountsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAccountsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeAccountsPaged Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeAccountsPaged)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetAccountsCompletedEventHandler(object sender, GetAccountsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeAccount[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeAccount[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SearchAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeAccount[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeAccount[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetAccountCompletedEventHandler(object sender, GetAccountCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAccountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAccountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeAccount Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeAccount)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SearchAccountCompletedEventHandler(object sender, SearchAccountCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SearchAccountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SearchAccountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeAccount Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeAccount)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CheckAccountCredentialsCompletedEventHandler(object sender, CheckAccountCredentialsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CheckAccountCredentialsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CheckAccountCredentialsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateMailboxCompletedEventHandler(object sender, CreateMailboxCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteMailboxCompletedEventHandler(object sender, DeleteMailboxCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DisableMailboxCompletedEventHandler(object sender, DisableMailboxCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DisableMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DisableMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxGeneralSettingsCompletedEventHandler(object sender, SetMailboxGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxEmailAddressesCompletedEventHandler(object sender, GetMailboxEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeEmailAddress[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void AddMailboxEmailAddressCompletedEventHandler(object sender, AddMailboxEmailAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AddMailboxEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AddMailboxEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxPrimaryEmailAddressCompletedEventHandler(object sender, SetMailboxPrimaryEmailAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetMailboxPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetMailboxPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteMailboxEmailAddressesCompletedEventHandler(object sender, DeleteMailboxEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxMailFlowSettingsCompletedEventHandler(object sender, GetMailboxMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxMailFlowSettingsCompletedEventHandler(object sender, SetMailboxMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxAdvancedSettingsCompletedEventHandler(object sender, SetMailboxAdvancedSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxSetupInstructionsCompletedEventHandler(object sender, GetMailboxSetupInstructionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxSetupInstructionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxSetupInstructionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SendMailboxSetupInstructionsCompletedEventHandler(object sender, SendMailboxSetupInstructionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SendMailboxSetupInstructionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SendMailboxSetupInstructionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxManagerSettingsCompletedEventHandler(object sender, SetMailboxManagerSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetMailboxManagerSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetMailboxManagerSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMailboxPermissionsCompletedEventHandler(object sender, GetMailboxPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMailbox Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMailbox)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetMailboxPermissionsCompletedEventHandler(object sender, SetMailboxPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateContactCompletedEventHandler(object sender, CreateContactCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteContactCompletedEventHandler(object sender, DeleteContactCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetContactGeneralSettingsCompletedEventHandler(object sender, GetContactGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeContact Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeContact)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetContactGeneralSettingsCompletedEventHandler(object sender, SetContactGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetContactMailFlowSettingsCompletedEventHandler(object sender, GetContactMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeContact Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeContact)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetContactMailFlowSettingsCompletedEventHandler(object sender, SetContactMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateDistributionListCompletedEventHandler(object sender, CreateDistributionListCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateDistributionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateDistributionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteDistributionListCompletedEventHandler(object sender, DeleteDistributionListCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteDistributionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteDistributionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListGeneralSettingsCompletedEventHandler(object sender, GetDistributionListGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeDistributionList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeDistributionList)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListGeneralSettingsCompletedEventHandler(object sender, SetDistributionListGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListMailFlowSettingsCompletedEventHandler(object sender, GetDistributionListMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeDistributionList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeDistributionList)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListMailFlowSettingsCompletedEventHandler(object sender, SetDistributionListMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListEmailAddressesCompletedEventHandler(object sender, GetDistributionListEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeEmailAddress[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void AddDistributionListEmailAddressCompletedEventHandler(object sender, AddDistributionListEmailAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AddDistributionListEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AddDistributionListEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListPrimaryEmailAddressCompletedEventHandler(object sender, SetDistributionListPrimaryEmailAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetDistributionListPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetDistributionListPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteDistributionListEmailAddressesCompletedEventHandler(object sender, DeleteDistributionListEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetDistributionListPermissionsCompletedEventHandler(object sender, SetDistributionListPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ResultObject Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ResultObject)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDistributionListPermissionsCompletedEventHandler(object sender, GetDistributionListPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeDistributionListResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeDistributionListResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreatePublicFolderCompletedEventHandler(object sender, CreatePublicFolderCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreatePublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreatePublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeletePublicFoldersCompletedEventHandler(object sender, DeletePublicFoldersCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeletePublicFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeletePublicFoldersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeletePublicFolderCompletedEventHandler(object sender, DeletePublicFolderCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeletePublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeletePublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void EnableMailPublicFolderCompletedEventHandler(object sender, EnableMailPublicFolderCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class EnableMailPublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal EnableMailPublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DisableMailPublicFolderCompletedEventHandler(object sender, DisableMailPublicFolderCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DisableMailPublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DisableMailPublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderGeneralSettingsCompletedEventHandler(object sender, GetPublicFolderGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangePublicFolder Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangePublicFolder)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderGeneralSettingsCompletedEventHandler(object sender, SetPublicFolderGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, GetPublicFolderMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangePublicFolder Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangePublicFolder)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, SetPublicFolderMailFlowSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetPublicFolderEmailAddressesCompletedEventHandler(object sender, GetPublicFolderEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeEmailAddress[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeEmailAddress[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void AddPublicFolderEmailAddressCompletedEventHandler(object sender, AddPublicFolderEmailAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AddPublicFolderEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AddPublicFolderEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetPublicFolderPrimaryEmailAddressCompletedEventHandler(object sender, SetPublicFolderPrimaryEmailAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetPublicFolderPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetPublicFolderPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeletePublicFolderEmailAddressesCompletedEventHandler(object sender, DeletePublicFolderEmailAddressesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeletePublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeletePublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMobileDevicesCompletedEventHandler(object sender, GetMobileDevicesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMobileDevicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMobileDevicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMobileDevice[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMobileDevice[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetMobileDeviceCompletedEventHandler(object sender, GetMobileDeviceCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMobileDeviceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMobileDeviceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public ExchangeMobileDevice Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((ExchangeMobileDevice)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
}
